package edu.zzuli.model.xt.jqqx.zzjggl.iface;

import java.util.List;

import org.springframework.jdbc.core.namedparam.SqlParameterSource;

import edu.zzuli.common.Pagination;
import edu.zzuli.common.TreeNode;
import edu.zzuli.model.dao.BasePO;
import edu.zzuli.model.orm.po.GG_CZYB;
import edu.zzuli.model.orm.po.GG_JGBH;

/**
 * @author tianshaojie
 * @date 2011-8-17
 * @discription : 组织结构管理业务类
 */
public interface ZzjgglService {

	public BasePO selectSinglePO(BasePO basePO);
	
	public List selectSplit(String sql, Pagination pagination);
	
	public List selectSplit(String sql, SqlParameterSource parameterSource, Pagination pagination);
	
	/**
	 * @author tianshaojie
	 * @date 2011-8-17
	 * @discription : 添加修改机构人员
	 * @param gg_czyb void
	 */
	public void saveOrUpdateGG_CZYB(GG_CZYB gg_czyb);
	
	/**
	 * @author tianshaojie
	 * @date 2011-8-17
	 * @discription : 根据登录管理员所在机构获得子机构树 
	 * @return List
	 */
	public List<TreeNode> getZzjgTree(String jgbh);
	
	/**
	 * @author tianshaojie
	 * @date 2011-8-17
	 * @discription : 删除机构人员
	 * @param ids void
	 */
	public void deleteGG_CZYB(String ids);
	
	/**
	 * @author tianshaojie
	 * @date 2011-8-21
	 * @discription : 添加修改组织结构
	 * @param gg_jgbh void
	 */
	public void saveOrUpdateGG_JGBH(GG_JGBH gg_jgbh);
	
	/**
	 * @author tianshaojie
	 * @date 2011-8-21
	 * @discription : 删除组织机构
	 * @param jgbh void
	 */
	public void deleteGG_JGBH(String jgbh);
	
	/**
	 * @author tianshaojie
	 * @date 2011-8-21
	 * @discription : 获得机构下机构人员数量
	 * @param jgbh void
	 */
	public int getJgryCount(String jgbh);
	
	/**
	 * @author tianshaojie
	 * @date 2011-8-25
	 * @discription : 查询机构下的业务角色
	 * @param jglb
	 * @return List
	 */
	public List getCzlbList(String jgbh,String czyid,List selectedCzlb);
	
	/**
	 * @author tianshaojie
	 * @date 2011-8-27
	 * @discription : 保存机构人员权限
	 */
	public void saveJgryQx(String czyid, String czlbIds);
	
	/**
	 * @author tianshaojie
	 * @date 2011-8-27
	 * @discription : 验证登录号唯一性 
	 * @param czyid
	 * @param dlh
	 * @return boolean
	 */
	public boolean checkUniqueDlh(String czyid,String dlh);
}
